#ifndef _DEFAULT_PARAMETER_CONTAINER_H
#define _DEFAULT_PARAMETER_CONTAINER_H


#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000


#include "Error.h"
#include <map>
#include <string>
#include "..\Color\Color.h"
#include "..\Texture\Texture.h"
#include "..\Exceptions\InvalidScreenResolutionException.h"

class DefaultParameterContainer{
	
	public:
	
		virtual ~DefaultParameterContainer();

		static DefaultParameterContainer* getInstance();

		static void destroy();

		void setScreenResolution(int resol)throw (InvalidScreenResolutionException);

		void setScreenColor(Color* color);

		void setLineColor(Color* lineColor);

		void setFigureColor(Color* figureColor);

		void setTexture(Texture* texture);

		int getScreenHeight() const;

		int getScreenWidth() const;

		Color* getScreenColor();

		Color* getLineColor();

		Color* getFigureColor();
		
	private:

		DefaultParameterContainer();
	
		static DefaultParameterContainer* instance;

		int screenWidth;

		int screenHeight;

		Texture* texture;

		static Color* screenColor;

		static Color* lineColor;

		static Color* figureColor;

		static Color* defaultScreenColor;

		static Color* defaultFigureColor;

		static Color* defaultLineColor;

		int defaultScreenWidth;

		int defaultScreenHeight;

};

#endif
